home *** CD-ROM | disk | FTP | other *** search
Text File | 1989-09-17 | 54.0 KB | 1,717 lines |
-
-
-
-
-
-
-
-
-
- GRAPH User's Manual
-
-
-
- Graph V3.1 - An experiment in digital waveform synthesis.
-
-
-
-
-
-
-
-
-
-
-
-
- Authored by:
- Pacific Laser Art;
- President: Thomas C. Poff
- #9 Tunzi Parkway
- Petaluma, CA 94952
-
- Release date : 18 September 1989
- Version 3.1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- (c) 1989 by Pacific Laser Art
-
- Permission is granted to copy this document and related software.
-
-
-
-
-
-
-
-
-
-
-
-
-
- GRAPH User's Manual Page 2
-
-
-
- "GRAPH" is a program designed to allow you, the user, to generate a
- myriad of two-dimensional shapes. By plotting two individual
- waveforms on a cartesian, (or two dimensional) plane, you will be able
- to create a variety of beautiful shapes.
-
- Most of the shapes that this program can produce are by nature
- abstract. However, with some practice it is possible to gain a talent
- for creating shapes that are easily recognizable to us as familiar
- objects.
-
- We much prefer the abstract shapes, personally, and for this reason,
- the program has been developed from this standpoint.
-
-
- In the next several pages, We will discuss the varying levels of
- sophistication that have been written into "Graph." We will start by
- explaining the simplest functions and will gradually introduce you to
- it's fancier accouterments! "Graph" has been written to be one of the
- easiest of it's kind to operate due to it's unique user interface. We
- hope that you will find agreeable!
-
- Before we begin the first lesson, it is necessary to bring the
- following information to your attention.
-
- First of all, whether or not you like the program, we would very much
- like to hear your thoughts on it. Your input is needed! The authors
- are anxious to find ways of improving the existing software as well as
- incorporating new ideas into it! If you do like the program, we would
- appreciate receiving a registration fee from you. The registration
- cost for the first two versions of "GRAPH" is $25 and will provide you
- with the following items:
-
- (1) A 100% free update to the next major update of GRAPH
- (with updated user documentation on the disk).
- (2) A bi-annual newsletter with tips about how to make the most
- of programs published by Pacific Laser Art.
- (3) Notification of new software releases.
- (See the appendix for upcoming developments.)
-
-
- Whew, that's enough of the sales pitch! Please write to us,
- regardless of whether or not you wish to become registered. If
- nothing else, send a postcard with a one-liner with your strongest
- impression about "Graph."
-
- Registrations and suggesstions should be sent to:
-
- Pacific Laser Art
- #9 Tunzi Parkway
- Petaluma, CA 94952
-
-
-
-
-
-
-
-
-
-
-
-
- GRAPH User's Manual Page 3
-
-
- Hardware Recommendations:
-
- The first action you will want to take with your new program will be
- to make sure that it will run correctly on your equipment.
-
- Of particular concern is the use of display adapters. Any of the
- following displays will function well with "Graph."
-
- 1) All types of EGA adapters, (including monochrome EGA), will be
- perfect for executing GRAPH.
-
- 2) VGA and MCGA adapters will work equally well.
-
- 3) Believe it or not, this program will also work well with the
- Hercules Graphics adapters and the AT&T400 display adapters.
-
- The CGA displays will not function with "Graph" as they simply do not
- have the amount of resolution required to operate properly.
-
- Of secondary importance to you as a user will be the speed of the
- machine that you are using. Although it is unknown to many users of
- personal computers, a math coprocessor can be most crucial in terms of
- performance. Six megahertz PCs can outperform sixteen megahertz
- machines when a coprocessor is present. This is common with programs
- like GRAPH that must perform a great deal of floating point
- arithmetic. For this reason, I recommend that you look first for an
- available machine with a math coprocessor, before seeking sheer
- microprocessor speed.
-
- If you do have a slower machine, that is okay too. You will find,
- however, that some really high-resolution plots can take hours instead
- of minutes on the slower 8088 machines. To be fair, I should note
- that most of your waveforms will take only seconds to plot.
-
- Lastly, there must exist 512K of RAM on the motherboard of the
- computer in which you are to use.
-
-
-
- "Getting down to business"
-
- Now that you are aware of the necessary hardware to use with GRAPH,
- you can begin our first "session" with the program itself.
-
- To begin, insert your diskette in the computer. If you look at the
- directory, you will find several executable files. For the moment, we
- will only look at the most important one.
-
- At the dos prompt, type in the word GRAPH and press the <Enter> key.
- In a few seconds, a happy but slightly intimidating screen with some text
- will appear.
-
- Now then, at the upper left hand corner you will please notice a large
- green box. The box has a horizontal dotted-blue line in the middle.
- You will be able to plot individual waveforms in this area.
-
-
-
-
-
-
-
-
- GRAPH User's Manual Page 4
-
-
- On the lower right hand side, you will notice that there exists a
- series of four small boxes containing text. The boxes are used for
- choosing basic trigonometric waveforms, their durations and
- amplitudes. In fact, each one of these boxes makes up one user
- controlled "oscillator." People have pointed out that GRAPH looks,
- (and acts), a lot like a video game, because the "controls" are easy
- to operate and the program in itself is extremely interactive.
-
- At the bottom of the screen you will see two message boxes. The first
- message tells you how to get a list of basic commands, while the
- second mentions that it is possible to leave the program by pressing
- ctrl-x.
-
- I mention this now, as you will soon see that when you give the
- program invalid input, the resulting error message will scroll the
- current messages from the screen. The message area, you see, is set
- up to operate as a queue.
-
- At this point, you will want to act upon one of these messages! If
- you are a wise-guy (person), and you choose the ctrl-x option, just
- remember that you'll have start to over! All joking aside, you should
- now press the 'L' key. This will provide you with a list of available
- commands which will be your key to operating GRAPH until you become
- familiar with it. You may get to the list of commands at any time,
- except during a plot, or when you are entering data from the keyboard.
-
-
-
- Lesson 1: Plotting simple waveforms.
-
-
- Section 1.1 - Sine wave plot.
-
- Our first objective will be to plot a sinewave on the display. To
- create this sinewave, we will do the following exercise:
-
-
- Exercise:
-
- Press the key on your keyboard after
-
- || reading the associated comments.
- ||
- || ||
- || ||
- \/ \/
-
- < 1 > : This keystroke ensures that our current "oscillator" will be
- designated as oscillator #1.
- <F1 > : This keystroke will mark the sinewave function for plotting
- in the "Oscillator #1" box. A small "blurb" should appear in
- the sinewave oval as soon as the <F1> key is pressed. If it
- does not appear, try pressing the <F1> key several times
- until you get a feeling for how waveforms are enabled. Note
- that the <F1> key acts as a "toggle" switch to turn the
-
-
-
-
-
-
-
-
- GRAPH User's Manual Page 5
-
-
- waveform on or off.
-
- <F10> : When you have successfully enabled the sinewave oscillator,
- push the <F10> key to plot the waveform. A beautiful
- sinewave of length one cycle should now grace your computer
- screen.
-
- <ESC> : When you are through admiring your first waveform, clear the
- waveform display box by pressing the Escape key.
-
- <F2 > : Now press <F2>, <F3>, <F4>, <F5> and <F6> in order to enable
- <F3 > : each of the trigonometric waveforms in oscillator #1.
- <F4 > (These keys work in the same manner as the <F1> key, but
- <F5 > for cosine, cotangent, cosecant, secant, & cotangent
- <F6 > respectively.)
-
- <F10> : Please press the <F10> key to plot all six basic
- trigonometric waveforms simultaneously. Pretty neat, huh?
-
- <ESC> : Now, press the Escape key to clear the waveform display box.
- < D > : Press <D> to reset all oscillator values to their original
- state. This returns all oscillator parameters to the
- original settings present when you first ran the program.
-
-
-
-
- Section 1.2: Plotting a sine wave with different AMPLITUDES & CYCLES.
-
- In this lesson, we will learn how to plot waveforms with amplitudes
- and cycles specified by the user. Let us now plot the following
- waveforms:
-
-
- Exercise:
-
- <F1 > : Press the <F1> key to enable the sine wave.
- < A > : Press the <A> key to change the amplitude of the sine wave.
- When you press the key, you will see a cursor at the right
- hand side of the screen just beckoning to you for data-input.
- Please enter the number 100 on your keyboard and press
- <Enter>.
- <F10> : Plot the waveform. Notice how the sinewave is larger from
- top to bottom than the last time that we plotted it.
-
- < A > : Next, change the <A>mplitude again, but enter the number 20
- on your keyboard and press <Enter> this time.
- < C > : Now were cooking! Press the <C> key and enter the number 5
- followed by the <Enter> key. This will tell the computer
- that you want a sinewave with a duration of 5 cycles to be
- plotted on the screen.
- <F10> : Plot the waveform. Now you will see a new small sinewave
- that goes up and down several times. The waveform is short,
- because we changed the amplitude to a smaller value (20). It
- "oscillates," because we have told it to cycle up and down
-
-
-
-
-
-
-
-
- GRAPH User's Manual Page 6
-
-
- five times. Can you dig it?
- <ESC> : Clear the screen.
- < D > : Reset oscillators back to the default values again.
-
- Before you pushed escape, you should have had two waveforms displayed
- in the waveform display box. If you did not, you should probably go
- back to the the beginning of the lesson and start again. Don't be
- discouraged. As you may know, sometimes it can take a little time to
- get used to operating a new program.
-
-
-
- Section 1.3: Controlling the PHASE SHIFT of a trigonometric waveform.
-
- The last of the individual oscillator control options is the phase
- shift offset control. If you are familiar with trigonometry, you will
- remember that every sinewave has a phaseshift that can range from 0PI
- to 2PI. Since it is most important to think in terms of PI for this
- parameter, we will specify a number between 0 and 2 upon input. To
- see how this affects a cosine wave, perform the following operations:
-
-
- Exercise:
-
- <F3 > : Enable the cosine waveform.
- <F10> : Plot the cosine waveform.
- < S > : Change the phase <S>hift by entering the <S> key. Type
- in the number 0.1 and push the <Enter> key.
- <F10> : Plot the phaseshifted cosine waveform. Note that it's
- position has shifted slightly to the right.
- < S > : Now Change the phase <S>hift to 0.2
- <F10> : Plot the phaseshifted cosine waveform.
- <ESC> : Clear the screen.
- < D > : Reinitialize default values.
-
- If you keep incrementing the phase <S>hift value in 0.1 increments,
- you will eventually approach 2PI. Note that this parameter is entered
- in terms of PI. Another way of looking at this is to say that we can
- increment the phaseshift of the waveform by one-tenth of PI, (.1 PI =
- 1/10 PI = ), until we reached 2PI. When we reached the 2PI phase
- shift offset, we will noticed that the waveform was write back where
- it started from.
-
- If you wish to see this, try repeating the exercise and keep
- incrementing the phaseshift offset to 0.3, 0.4, 0.5... until you
- approach 2.
-
- In the last several pages we have covered the concepts of oscillator
- control. If you did not feel comfortable with the exercises you have
- performed, you should probably review the exercises again.
-
-
-
-
- Lesson 2: Waveform RESOLUTION/ Producing a UNIT CIRCLE.
-
-
-
-
-
-
-
-
- GRAPH User's Manual Page 7
-
-
-
-
-
- In the second lesson, you will discover how to modulate one waveform
- with another. That is, you will be taught how to take one waveform,
- such as a sine wave, and sum it with another waveform, perhaps a
- cosine wave.
-
- Before we begin the explanation of how to modulate waveforms, however,
- you will first be shown how to alter the resolution of any plotted
- waveform.
-
-
-
- Section 2.1 - Controlling the resolution of a waveform.
-
- You may have noticed that when you choose to plot a waveform at two
- cycles, there are no apparent breaks or separations in the waveform
- itself. However, if you plot a waveform at ten cycles, it is a
- different matter. At twenty-five cycles, the waveform becomes
- unrecognizable. Try the following exercise to demonstrate this aspect
- of the program:
-
-
- Exercise A: What do you think will happen?
-
- <F1 > : Enable the sinewave
- <F10> : Plot the waveform at 1 complete cycle.
- < C > : Change the waveform cycle count to 10.
- <F10> : Plot the waveform at 10 complete cycles.
- <ESC> : Clear screen.
- < C > : Change the waveform cycle count to 25.
- <F10> : Plot the waveform at 25 complete cycles.
- <ESC> : Clear screen.
- < D > : Reinitialize default values.
-
- Can you see how the waveform becomes disconnected as the cycle count
- increases? If you cannot, please try Exercise A again!
-
-
- This behavior occurs because the waveforms are forced to have the same
- number of "samples" per plot. This means that no matter what
- oscillator(s) you assign, the waveform will always be plotted with the
- same number of elements in terms of resolution. So, if you plot a
- sine curve at one cycle as opposed to a curve at ten cycles, the same
- number of dots are plotted on the screen.
-
- In order to acheive a more continuous waveform at higher cycle
- settings, we must increase the resolution. This is done by changing
- the resolution posted at the middle right hand section of the screen.
- Let's try it, shall we:
-
-
-
-
-
-
-
-
-
-
-
-
- GRAPH User's Manual Page 8
-
-
-
- Exercise B:
-
- <F1 > : Enable the sinewave
- < C > : Change the waveform cycle count to 10.
- <F10> : Plot the waveform at 10 complete cycles.
- < R > : Change the waveform resolution to 0.25
- <F10> : Replot the waveform.
- <ESC> : Clear the screen
- ( Do not reinitialize default values! )
-
- If all went well, you should be able to see how the new waveform is
- more continuous than it was before. Note that in order to increase
- the resolution, we had to decrease the input value (from 1.5 to 0.25)
-
- The advantage with greater resolution, is that we can see more of the
- waveform. If you increase the number of cycles, you must certaintly
- beware of the resolution setting and readjust it accordingly. The
- drawback to increasing the resolution of a waveform is that it takes
- more time to plot than a waveform plotted at low resolution. This
- fact will become more apparent as we venture into modulated waveforms.
-
-
-
- Section 2.2 - The infamous unit circle.
-
- Before we get into an explanation of the "heavier" part of this
- program, let us digress to something easy to understand. Some of you
- may have been wondering whether or not you were ever going to see a
- unit circle. The answer is most certaintly, "Yes!" It is not a
- terribly useful option, but since it can be a comforting thing to see
- a unit-circle, it has been included in the program. Using the
- previous settings, perform the following task:
-
-
- Exercise:
-
- < R > : Change <R>esolution to 0.1
- < U > : Enable the unitcircle grid.
- <F10> : Plot the waveform.
- (You can press <ESC> to stop the plotting in "mid-stream.")
- <ESC> : Clear the screen.
- < U > : Disable the unitcircle grid.
- < D > : Reinitialize default values.
-
- As you can see, as the waveform cycles from 0 to 2PI, a pointer moves
- around the unit circle accordingly. It should be noted that this
- option slows down the plotting of the waveform and thus should be
- executed with care during plots at high resolution.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- GRAPH User's Manual Page 9
-
-
- Lesson 3: WAVEFORM MODULATION.
-
-
- This section will tell you about how to obtain modulated or complex
- waveforms. For those of you in the dark, a modulated/complex waveform
- is a waveform that consists of several simple waveforms that are mixed
- together in one way or another.
-
- An example of a complex waveform could be two sinewaves that are added
- to each other. The sinewaves could very well be different in terms of
- the number of cycles within a given interval. Their amplitudes could
- also differ from one another. You can also mix waveforms with
- different phaseshift offset, as we'll discuss in the theoretical
- example below.
-
-
- Section 3.1 - A theoretical look at simple and complex sinewaves.
-
- To help you imagine this "mixing" of waveforms together, you might
- note the following example. Some children take great pleasure in
- hitting long pipes planted on playgrounds with their hands. This
- causes the pipe to fiercly vibrate. You may have done this yourself
- when you were a child.
-
- Now take that example one step further. Imagine a very long metal
- pipe with its two ends planted in the ground. These are often found
- at school playgrounds. Now then, imagine that you have a baseball
- bat. If you were to pound on the center of the pipe, you would see it
- oscillate back and forth. Through this action, you would create a
- pair of sinewaves that travel back and forth through the pipe. If you
- were to inspect the pipe from several careful angles, you might even
- be able to see or feel the oscillations moving through the pipe.
-
- Finally, if you really got into and started hitting the pipe
- repeatedly with the bat, you would notice that afterwards, when you
- touched the pipe, it would oscillate in a seemingly erratic manner.
- In actuality, these oscillations would represent a complex waveform
- composed of a lot of sinewaves traveling at the same rate of
- oscillation, but at a different phaseshift settings.
-
- Note: Please do not try this experiment at home!
-
-
-
- Section 3.2 - Modulating one waveform with another.
-
- Ahhh, finally what we've been patiently waiting for. This is the
- challenge that separates the alligators from the crocodiles!
- Seriously, it's not that difficult, but you may need to take some time
- covering this material and repeating various exercises.
-
- Make sure that you have reinitialized the default values. All
- waveforms should be disabled (or turned off) before performing the
- following instructions.
-
-
-
-
-
-
-
-
-
- GRAPH User's Manual Page 10
-
-
-
- Exercise A:
-
- < R > : Change <R>esolution to 1.5
- < 1 > : Assign oscillator #1.
- <F1 > : Enable the sinewave in oscillator #1.
- < 2 > : Assign oscillator #2. (The oscillator pointer will move.)
- <F1 > : Enable the sinewave in oscillator #2.
- < C > : Change the cycle count in oscillator #2 to 3.
- < M > : Enter the following formula EXACTLY:
- (O1+O2)
- Press <Enter> to enter this formula. Make sure that you
- typed in O's and NOT zeroes. This is most important. Zeroes
- will not work!
-
-
- This command tells the program that you want to add the first
- Oscillator to the second Oscillator during the plotting of
- the waveforms. This is how you specify specific waveforms
- that you want to "mix" together while the waveforms are being
- plotted.
-
- <F7 > : Enable modulation mode so that "Graph" will know to modulate
- the waveforms specified in the modulation formula.
- <F10> : Plot the waveforms. When you hit the <F10> key, three
- waveforms should appear on the screen. Two of the waveforms are your
- component waveforms, and the other is the modulated waveform. In
- The modulated waveform represents the "sum" of the two other
- waveforms.
-
- Let's try another one:
- < R > : Change <R>esolution to 0.5
- < 1 > : Assign oscillator #1.
- < C > : Change cycle count to 12.
- <F10> : Plot the waveform.
- <ESC> : Clear screen.
-
- Pretty darn neat huh! Now, you might have noticed that things are
- getting pretty crowded now. In order to alleviate this problem, we
- can keep the component waveforms from displayingon the screen during a
- plot:
-
- <F9 > : Specify only the modulation waveform.
- <F10> : Replot the modulation waveform only.
- <ESC> : Clear screen
- < D > : Reinitialize default parameters.
-
-
- It should be stated that <F7> and <F9> act as toggle switches. Thus,
- if you press them once, they become active, and if you press them again,
- they become inactive.
-
-
-
-
-
-
-
-
-
-
-
-
- GRAPH User's Manual Page 11
-
-
- Exercise B: Plot a complex waveform consisting of four component
- waveforms.
-
- < R > : Change <R>esolution to 1.
- < 1 > : Specify Oscillator #1.
- <F1 > : Specify sinewave.
-
- < 2 > : Specify Oscillator #2.
- <F1 > : Assign sinewave.
- < C > : Set cycles to 2.
-
- < 3 > : Specify Oscillator #3.
- <F1 > : Assign sinewave.
- < C > : Set cycles to 4.
- < 4 > : Specify Oscillator #4.
- <F1 > : Assign sinewave.
- < C > : Set cycles to 8.
-
- < M > : The old modulation formula was only good for two waveforms.
- Try the following one to mix all four waveforms together:
-
- (O1+O2+O3+O4)/4
-
- Remember to type in "Os" and NOT "0s" in the modulation
- formula. This new formula will sum the four waveforms to
- and divide the total by four to create the new complex
- waveform.
-
- <F7 > : Enable waveform modulation.
- <F10> : Plot the component and modulation waveforms.
-
- <ESC> : Clear the screen.
- <F9 > : Disable component waveforms.
- <F10> : Plot modulation waveform only.
- <ESC> : Clear screen
- < D > : Reinitialize default parameters.
-
- You may have noticed that with all four waveforms assigned, the
- graphing does become slower. You can of course try other modulation
- formulae, such as:
-
- < M > : (O1+O2+O3)/3 ( This adds oscillators 1,2 & 3 together
- and divides the result by three. )
- < M > : (O1+O2)/2 ( This adds oscillators 1 & 2 together
- and divides the result by two. )
- < M > : (O1) ( This plots only the sum of all
- waveforms enabled in oscillator #1. )
- < M > : (O1+O3)/5 ( This adds oscillators 1 & 3 together
- & divides the result by five. )
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- GRAPH User's Manual Page 12
-
-
- The modulation formula decoding is kept quite simple in order to
- increase graphing performance in terms of time. The tradeoff is that
- there is very little error checking in this option. You should avoid
- the following kinds of mistakes when creating waveform modulation
- formulae:
-
- 1) Do not try to add an oscillator where no waveforms are enabled.
- 2) Do not try to divide a set of waveforms [e.g. (O1+O3) ] by a number
- exceeding nine.
- 3) Do not try to multiply or divide oscillators.
-
- Performing any one of the above "no-no's" will cause the program to
- ignore you when you hit the plot key. It will try to plot, but will
- find an inconsistency in the modulation waveform, causing nothing to
- be plotted.
-
- Hint: if you are having problems with a waveform that won't plot,
- check to make sure that you have at least one waveforms enabled in
- each oscillator that appears in the modulation formula!
-
-
-
-
-
- Section 3.3 - Complex waveforms constructed from one oscillator.
-
-
- Thus far, we have specified only one waveform per oscillator in the
- complex waveform plots. However, we can easily choose any number of
- the basic waveforms included in each oscillator. To illustrate this,
- you may wish to perform the following exercise:
-
-
-
- Exercise:
-
- <F1 > : Enable the sinewave and cosecant function in oscillator #1.
- <F2 >
-
- < M > : Sum the enabled waveforms within oscillator #1 by the formula:
- (O1)
-
- <F7 > : Enable waveform modulation.
- <F10> : Plot the modulated waveform. Different, isn't it?
-
- < A > : Change the amplitude to 10.
- <F10> : Replot the modulated waveform.
-
- <F3 > : Enable all other waveforms in the oscillator.
- <F4 >
- <F5 >
- <F6 >
-
- <F9 > : Display the modulation waveform only. ( optional )
- <ESC> : Clear the screen.
-
-
-
-
-
-
-
-
- GRAPH User's Manual Page 13
-
-
- <F10> : Plot the waveform again.
- <ESC> : Clear screen
- < D > : Reinitialize default parameters.
-
-
- Note that this exercise modulates off of one oscillator only. If you
- wish, you may perform this exercise with all 4 oscillators combined.
- This will give you a total of 24 waveforms combined in the final
- modulated waveform! You will need to keep the amplitude values small
- in order to see the modulated waveform.
-
- Section 3.4 - Multiple plots
-
-
- Multiple plots can useful as well as beautiful. By changing values
- phase shift values in one or more oscillators, you can have a group of
- different waveforms on the screen at one time. The waveforms can be
- related to each other in a visual manner. To illustrate this
- phenomena, please try the following exercise:
-
-
- Exercise A:
-
- <F3 > : Enable the cosine in oscillator #1.
-
- < 2 > : Assign oscillator #2.
- <F3 > : Enable the cosine.
- < C > : Change the cycle count to 2.
-
- < 3 > : Assign oscillator #3.
- <F3 > : Enable the cosine.
- < C > : Change the cycle count to 3.
-
- < 4 > : Assign oscillator #4.
- <F3 > : Enable the cosine.
- < C > : Change the cycle count to 4.
-
- < M > : Enter the following modulation formula:
- (O1+O2+O3+O4)
-
- <F7 > : Allow waveform modulation.
- <F9 > : Display modulation waveform only.
-
- <F10> : Plot the waveform.
-
-
- < 2 > : Assign oscillator #2.
- < S > : Change the phaseshift value to 0.1
- <F10> : Plot the waveform.
-
- < S > : Change the phaseshift value to 0.2
- <F10> : Plot the waveform.
-
- < S > : Change the phaseshift value to 0.3
- <F10> : Plot the waveform.
-
-
-
-
-
-
-
-
- GRAPH User's Manual Page 14
-
-
-
- < S > : Change the phaseshift value to 0.4
- <F10> : Plot the waveform.
-
- ------> Keep incrementing the phaseshift value by 0.1 and plotting
- the waveform until after you have plotted the waveform with the value
- 1.9 as the phaseshift offset. This is a sample of the kind of
- graphing patterns that you can produce with GRAPH. With a little
- practice and experimenting, you can create a wide variety of complex
- graphs without ever having to know the equations behind them.
-
- When you are done, clear the screen and reset defaults as we have done
- before:
-
- <ESC> : Clear screen
- < D > : Reinitialize default parameters.
-
-
-
-
-
- Lesson 4 - TWO-DIMENSIONAL waveshaping.
-
- Arguably the most interesting aspect of GRAPH is it's capability to
- create an array of two-dimensional objects. This is really what the
- program is designed to do best.
-
- We will start with a simple circle and quickly work up to more complex
- shapes. If you feel fairly comfortable with Lesson Three, you will
- not probably not have any problems with this section. If you only did
- marginally well in the last section, you should probably go back and
- perform the exercises in Lesson Three again. If you do go back to
- repeat those exercises, try substituting some of your own values.
-
- The secret behind this program is to be creative, not necessarily
- mathematical. You should develop a feeling for what complex waveforms
- that might be neat with some practice.
-
-
-
-
- Section 4.1 - A second bank of oscillators.
-
-
- Two dimensional objects are created by plotting two "equations"
- against each other. You can think of an "equation" as being the
- represented by any complex or modulated waveform that we studied in
- Lesson Three. We already have access to the one modulated waveform.
- In order for us to get the second dimension, we must have access to
- another, completely independent complex waveform.
-
- To reiterate, two dimensional objects can be created by plotting two
- complex waveforms against each other on a cartesian plane (or x,y
- axis). In other words, one of the complex waveforms is plotted on the
- x axis, whilst the other is plotted on the y axis.
-
-
-
-
-
-
-
-
- GRAPH User's Manual Page 15
-
-
-
- This can be a difficult concept to accept for some. We are used to
- simply drawing objects with our pencils, or if we are on a computer,
- some of us use a "mouse" to draw shapes. We don't even really think
- about what we're doing when we draw. The fact that we usually base
- our drawings on a horizontal and vertical axis is mostly taken for
- granted. However, that is all a cartesian plane is. The x axis in
- the cartesian coordinate plane represents the horizontal, while the y
- axis represents the vertical.
-
-
- So it is with graph. One complex waveform is plotted on the
- horizontal, while another is plotted on the vertical. The only
- problem is that we have only one complex waveform available to us.
-
- For this reason, GRAPH has been given an alternate set of oscillators.
- These oscillators are called "Bank 1" and can be addressed by pushing
- the following key:
-
- < B > : Change to Oscillator Bank #1.
-
- You may have noticed in the middle right hand side of the screen that
- there is a prompt that says the word "Bank." This refers to the
- current bank setting. In the past, the bank has always been set to
- zero. From this point on, however, you will need to use both banks of
- oscillators together to generate the shapes that we want to see.
-
- < B > : Change the Oscillator Bank back to #0.
-
- (Note that the bank change option is simply a "toggle" switch that can
- be used to quickly choose either bank 0 or bank 1).
-
-
-
-
- Section 4.2 - Plotting a circle.
-
-
- For our first two-dimensional graph, we will need plot a sine wave
- against a cosine wave. For those of you who are not terribly familiar
- with trigonometry, you will want to know that a sine wave on the
- horizontal (x) axis, plotted against a cosine wave on the vertical (y)
- axis will generate a circle.
-
- To create the circle you will need to do the following:
-
- Exercise:
-
- < M > : Enter the following modulation formula:
- (O1)
- <F7 > : Enable modulation.
- <F9 > : Enable Plot for the modulation waveform only.
-
- <F1 > : Enable the sinewave in oscillator #0.
- <F10> : Plot the sinewave.
-
-
-
-
-
-
-
-
- GRAPH User's Manual Page 16
-
-
-
- < B > : Change to Oscillator Bank #1.
- <F3 > : Enable the cosinewave in oscillator #0.
- <F10> : Plot the cosinewave.
-
- <Alt-F10>
- : This command plots a circle in the upper right hand corner of
- the display. ( This is not the unit circle. )
-
- Note that the modulation formula and the modulation enable controls
- are associated with both banks of oscillators.
-
-
-
-
-
-
- Section 4.3 - "Rotating" the circle.
-
-
- Due to a convenient special case in trigonometry, we can create a
- sequence of shapes that appear much like an ellipse rotating in three
- dimensions. This can be done by simply incrementing the phaseshift
- offset value of either oscillator by 0.1 repeatedly after plotting.
- To illustrate this, try the following exercise:
-
-
- Exercise: Plot a set of objects that appear as a rotating ellipse.
-
- < S > : Set the phaseshift to 0.1
- <F10> : Plot the waveform.
- <Alt-F10> : Draw a new graph.
- < S > : Set the phaseshift to 0.2
- <F10> : Plot the waveform.
- <Alt-F10> : Draw a new graph.
- < S > : Set the phaseshift to 0.3
- <F10> : Plot the waveform.
- <Alt-F10> : Draw a new graph.
- ----------> keep incrementing the phaseshift in 0.1 increments and
- repeating the Plot/Draw sequence as many times as you like.
-
- < U > : When you are done, press the <U>nit circle enable twice
- < U > to clear the area where the graphs are drawn.
- <ESC> : Clear the main screen.
- < D > : Return to default values.
-
- As you can see, the phase shift can be used to "massaged" two-
- dimensional shapes.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- GRAPH User's Manual Page 17
-
-
- Exercise: Drawing a "Limacon."
-
- < M > : Enter the following modulation formula:
- (O1+O2)/2
- <F7 > : Enable modulation waveform plotting.
- <F9 > : Disable component waveforms.
-
- <F1 > : Enable sinewave in oscillator #1.
- < 2 > : Assign oscillator #2.
- <F1 > : Enable sinewave.
- < C > : Set cycles to 2.
- <F10> : Plot the waveform.
-
- < B > : Change to alternate bank of oscillators
- < 1 > : Assign oscillator #1.
- <F3 > : Enable cosinewave.
- < C > : Set cycles to 2.
- < 2 > : Assign oscillator #2.
- <F3 > : Enable cosinewave.
- <F10> : Plot the waveform.
- <Alt-F10> : Draw the limacon.
-
-
- Now then, this Limacon is pretty cute, but it's painfully tiny to look
- at. For this reason, you can draw the object in larger size in the
- box where the waveforms are usually plotted. To do this, execute the
- following keystrokes.
-
- <Alt- F9> : Draw the limacon, but first...
- After you press <Alt-F9>, the prompt "Scale: " will
- appear at the lower left hand part of the large display
- area. If we want to observe the object at 3 times the
- size it was plotted at before, we can simply type a <3>
- followed by <Enter> to scale the object to a factor of 3.
-
- Be careful not to make the scaling factor too large, or you will not
- be able to see all of the object!
-
- Now then, you probably noticed that the limacon looks very
- disconnected when it is displayed in the large box. To fix this
- problem, we need to increase the resolution, and replot both complex
- waveforms.
-
- < R > : Change the resolution to 0.25
- <ESC> : Clear the large waveform display area.
- <F10> : Replot the waveform.
- < B > : Change banks.
- <F10> : Replot the other waveform.
- <Alt- F9> : Redraw the limacon in the large waveform display area.
- (Do not forget to enter the scaling factor for the object).
-
- Try the <Alt- F9> option several times at different scaling factors,
- to get the feel for it. Sometimes the two-dimensional shapes look
- much different at particular sizes.
-
-
-
-
-
-
-
-
-
- GRAPH User's Manual Page 18
-
-
- Note: If you would like to plot both complex waveforms via one
- keystroke, you may use the following keystrokes to do so:
-
- <ESC> : Clear the screen.
-
- < U > : When you are done, press the <U>nit circle enable twice
- < U > to clear the area where the graphs are drawn.
-
- < 1 > : Assign first oscillator.
- < S > : Change phase<S>hift to .15
- < B > : Change banks.
- < 2 > : Assign second oscillator.
- < S > : Change Phase<S>hift to .25
-
- < R > : Change the resolution to 0.75
- <Alt- F1> : Plot BOTH complex waveforms.
- <Alt- F10>: Sketch the two-dimensional waveform
-
-
-
-
-
-
- Section 4.4 - Printing a copy of your graph.
-
- If you have an EPSON compatible printer, you can print your graphs as
- you create them. This is done by pressing the following key:
-
- < O > : Output the contents of the display to the printer.
-
-
-
-
-
-
-
- Lesson 5 - A diverse collection of two-dimensional shapes.
-
-
- You may wish to exercise these keystrokes between each plot:
-
- < D > : Assign defaults parameters.
- <ESC> : Clear the screen
- < U > : When you are done, press the <U>nit circle enable twice
- < U > to clear the area where the graphs are drawn.
-
-
-
-
- Object #1 : Flower pattern
- -------------------------------------------------------
- < R > : Set resolution to 0.5 (Recommended only!)
-
- < 1 > : Assign oscillator #1.
- <F1 > : Enable Sine.
-
-
-
-
-
-
-
-
- GRAPH User's Manual Page 19
-
-
- < S > : Set phase<S>hift to 0.5
-
- < 2 > : Assign oscillator #2.
- <F3 > : Enable Cosine.
- < A > : Set <A>mplitude to 25.
- < C > : Set <C>ycles to 4.
-
- < B > : Switch to alternate bank of oscillators.
- < 1 > : Assign oscillator #1.
- <F3 > : Enable Cosine.
- < S > : set phase<S>hift to 0.5
-
- < 2 > : Assign oscillator #2.
- <F1 > : Enable Sine.
- < A > : Set <A>mplitude to 25.
- < C > : Set <C>ycles to 4.
-
- < M > : Enter modulation formula:
- (O1+O2)/2
-
- <F7 > : Enable modulation.
- <F9 > : Plot Modulation only.
-
- <Alt-F1 > : Plot both banks of complex waveforms.
- <Alt-F9 > : Plot two-dimensional shape with Scaling factor of 3.
-
- ( Don't forget to clear all defaults before you try the next object! )
-
-
-
-
- Object #2 : Hang-glider.
- -------------------------------------------------------
- < R > : Set resolution to 0.2 (Recommended only!)
-
- < 1 > : Assign oscillator #1.
- <F1 > : Enable Sine.
-
- < 2 > : Assign oscillator #2.
- <F1 > : Enable Sine.
- < C > : Set <C>ycles to 3.
-
- < 3 > : Assign oscillator #3.
- <F1 > : Enable Sine.
- < C > : Set <C>ycles to 5.
-
- < 4 > : Assign oscillator #4.
- <F1 > : Enable Sine.
- < C > : Set <C>ycles to 7.
-
- < B > : Switch to alternate bank of oscillators.
- < 1 > : Assign oscillator #1.
- <F3 > : Enable Cosine.
- < S > : Set phase<S>hift to 0.25
-
-
-
-
-
-
-
-
-
- GRAPH User's Manual Page 20
-
-
- < 2 > : Assign oscillator #2.
- <F3 > : Enable Cosine.
- < C > : Set <C>ycles to 2.
- < S > : Set phase<S>hift to 0.25
-
- < 3 > : Assign oscillator #3.
- <F3 > : Enable Cosine.
- < C > : Set <C>ycles to 3.
- < S > : Set phase<S>hift to 0.25
-
- < 4 > : Assign oscillator #4.
- <F3 > : Enable Cosine.
- < C > : Set <C>ycles to 4.
- < S > : Set phase<S>hift to 0.25
-
- < M > : Enter modulation formula:
- (O1+O2+O3+O4)/4
-
- <F7 > : Enable modulation.
- <F9 > : Plot Modulation only.
-
- <Alt-F1 > : Plot both banks of complex waveforms.
- <Alt-F9 > : Plot two-dimensional shape with Scaling factor of 3.
-
- ( Don't forget to clear all defaults before you try the next object! )
-
-
-
-
- Object #3: Fat squiggly thing.
- -------------------------------------------------------
- < R > : Set resolution to 0.2 (Recommended only!)
-
- < 1 > : Assign oscillator #1.
- <F1 > : Enable Sine.
- < C > : Set <C>ycles to 2.
-
- < 2 > : Assign oscillator #2.
- <F1 > : Enable Sine.
- < C > : Set <C>ycles to 8.
-
- < B > : Switch to alternate bank of oscillators.
- < 1 > : Assign oscillator #1.
- <F1 > : Enable Sine.
-
- < 2 > : Assign oscillator #2.
- <F1 > : Enable Sine.
- < C > : Set <C>ycles to 6.
-
- < M > : Enter modulation formula:
- (O1+O2+O3+O4)/3
-
- <F7 > : Enable modulation.
- <F9 > : Plot Modulation only.
-
-
-
-
-
-
-
-
-
- GRAPH User's Manual Page 21
-
-
- <Alt-F1 > : Plot both banks of complex waveforms.
- <Alt-F9 > : Plot two-dimensional shape with Scaling factor of 3.
-
-
-
-
- Object #4: Fast squiggly thing.
- -------------------------------------------------------
- < R > : Set resolution to 0.2 (Recommended only!)
-
- < 1 > : Assign oscillator #1.
- <F1 > : Enable Sine.
- < C > : Set <C>ycles to 4.
-
- < 2 > : Assign oscillator #2.
- <F1 > : Enable Sine.
- < C > : Set <C>ycles to 10.
-
- < B > : Switch to alternate bank of oscillators.
- < 1 > : Assign oscillator #1.
- <F1 > : Enable Sine.
-
- < 2 > : Assign oscillator #2.
- <F1 > : Enable Sine.
- < C > : Set <C>ycles to 20.
-
- < M > : Enter modulation formula:
- (O1+O2)/2
-
- <F7 > : Enable modulation.
- <F9 > : Plot Modulation only.
-
- <Alt-F1 > : Plot both banks of complex waveforms.
- <Alt-F9 > : Plot two-dimensional shape with Scaling factor of 3.
-
-
-
-
- Object #5: Floating Three-Dimensional object.
- -------------------------------------------------------
- < R > : Set resolution to 0.4 (Recommended only!)
-
- < 1 > : Assign oscillator #1.
- <F1 > : Enable Sine.
-
- < 2 > : Assign oscillator #2.
- <F1 > : Enable Sine.
- < C > : Set <C>ycles to 4.
-
- < B > : Switch to alternate bank of oscillators.
- < 1 > : Assign oscillator #1.
- <F1 > : Enable Sine.
-
- < 2 > : Assign oscillator #2.
- <F1 > : Enable Sine.
-
-
-
-
-
-
-
-
- GRAPH User's Manual Page 22
-
-
- < C > : Set <C>ycles to 3.
-
- < M > : Enter modulation formula:
- (O1+O2)/2
-
- <F7 > : Enable modulation.
- <F9 > : Plot Modulation only.
-
- <Alt-F1 > : Plot both banks of complex waveforms.
- <Alt-F9 > : Plot two-dimensional shape with Scaling factor of 3.
-
-
-
-
- Object #6: Elegant Three-Dimensional squiggle.
- -------------------------------------------------------
- < R > : Set resolution to 0.2 (Recommended only!)
-
- < 1 > : Assign oscillator #1.
- <F1 > : Enable Sine.
- < A > : Set <A>mplitude to 10.
- < C > : Set <C>ycles to 2.
-
- < 2 > : Assign oscillator #2.
- <F3 > : Enable Cosine.
- < A > : Set <A>mplitude to 100
- < C > : Set <C>ycles to 2.
-
- < 3 > : Assign oscillator #3.
- <F1 > : Enable Sine.
- < C > : Set <C>ycles to 3.
-
- < 4 > : Assign oscillator #4.
- <F1 > : Enable Sine.
- < C > : Set <C>ycles to 9.
-
- < B > : Switch to alternate bank of oscillators.
- < 1 > : Assign oscillator #1.
- <F3 > : Enable Cosine.
- < C > : Set <C>ycles to 4.
-
- < 2 > : Assign oscillator #2.
- <F1 > : Enable Sine.
-
- < 3 > : Assign oscillator #3.
- <F1 > : Enable Sine.
-
- < 4 > : Assign oscillator #4.
- <F1 > : Enable Sine.
-
- < M > : Enter modulation formula:
- (O1+O2+O3+O4)/3
-
- <F7 > : Enable modulation.
- <F9 > : Plot Modulation only.
-
-
-
-
-
-
-
-
- GRAPH User's Manual Page 23
-
-
-
- <Alt-F1 > : Plot both banks of complex waveforms.
- <Alt-F9 > : Plot two-dimensional shape with Scaling factor of 3.
-
-
-
-
- Object #7: A circle travelling in three dimensions.
- -------------------------------------------------------
- < R > : Set resolution to 0.011
-
- < 1 > : Assign oscillator #1.
- <F3 > : Enable Cosine.
- < S > : Set Phase<S>hift to 0.3
-
- < 2 > : Assign oscillator #2.
- <F1 > : Enable Sine.
- < A > : Set <A>mplitude to 30.
- < C > : Set <C>ycles to 99
-
- < 3 > : Assign oscillator #3.
- <F1 > : Enable Sine.
- < A > : Set <A>mplitude to 5.
- < C > : Set <C>ycles to 4.
-
- < B > : Switch to alternate bank of oscillators.
- < 1 > : Assign oscillator #1.
- <F3 > : Enable Cosine.
-
- < 2 > : Assign oscillator #2.
- <F3 > : Enable Cosine.
- < A > : Set <A>mplitude to 30.
- < C > : Set <C>ycles to 100.
-
- < 3 > : Assign oscillator #3.
- <F3 > : Enable Cosine.
- < A > : Set <A>mplitude to 5.
- < C > : Set <C>ycles to 3.
-
- < M > : Enter modulation formula:
- (O1+O2+O3)/2
-
- <F7 > : Enable modulation.
- <F9 > : Plot Modulation only.
-
- <Alt-F1 > : Plot both banks of complex waveforms.
- <Alt-F9 > : Plot two-dimensional shape with Scaling factor of 3.
-
- Note: This "object" will take a long time to plot!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- GRAPH User's Manual Page 24
-
-
- Appendix - Feedback,
- Registration,
- Program developments.
-
- Now we have covered all of the commands available to you in the
- program "GRAPH." Again, we would very much like to hear from you! If
- you like, you may send the following two-page questionnaire back to us.
- This will give us a feeling for where program developments and
- improvements need to be made, as well as the order in which we should
- take care of them.
-
- If you would like to register, we welcome this of course. As stated
- before, you will receive a free update to the next version of GRAPH,
- which will be quite substantial. You will also receive the
- newsletter, which contains settings for some exceptionally beautiful
- two-dimensional plots as well as information about various interesting
- articles about various applications concerning our programs. Emphasis
- of articles will be on PACIFIC LASER ART endeavors which involve
- exploration of mathematics, and hardware/software design.
-
- As of this date, our latest endeavor is a project tentatively named
- WIREANIM. This package is a shape animator/sequencer designed to
- create and manipulate two-dimensional objects. The main reason why we
- are referring to it here is that it is designed largely to expand the
- capabilities of GRAPH. Those who make up PACIFIC LASER ART loathe
- vaporware, but we thought it would be healthy to let people know what
- is in the works.
-
- We hope that you enjoy exploring our products.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Questionnaire (optional)
-
- This questionnaire is included to give us feedback about your feelings
- about "GRAPH." By returning this questionnaire to us, you will help
- to shape the program into you want it to be. You may answer one, or
- several, or all of the questions as you feel is necessary.
-
-
- 1. Please indicate the types of computers that you use on a regular
- basis?
-
- ___ a) 8088/8086 IBM PC or clone ___ e) Apple Macintosh SE
- ___ b) 80286 IBM PC or clone ___ f) Apple Macintosh ][
- ___ c) 80386 IBM PC or clone ___ g) Commodore Amiga 500
- ___ d) Apple Macintosh Plus ___ h) Commodore Amiga 2000/2500
-
- 2. What speed does your PC or PC clone run at?
- ___ a) 4.77 megahertz ___ f) 16 megahertz
- ___ b) 6 megahertz ___ g) 20 megahertz
- ___ c) 8 megahertz ___ h) 25 megahertz
- ___ d) 10 megahertz ___ i) 33 megahertz
- ___ e) 12 megahertz ___ j) More than 33 megahertz
-
- 3. Do you have a math coprocessor in your PC or PC clone?
- ___ a) Yes ___ b) No
-
- 4. What type of display adapter are you using in your PC or PC clone?
- ___ a) Hercules Monochrome Graphics Adapter
- ___ b) AT&T400 Monochrome Graphics Adapter
- ___ c) Enhanced Graphics Adapter (EGA)
- ___ d) Video Graphics Array (VGA)
- ___ e) Other
-
- 5. How did you find out about "GRAPH?"
- ___ a) Word of mouth
- ___ b) Advertisement
- ___ c) Software distributor
-
- 6. Are you satisfied with the speed at which "GRAPH" plots simple and
- complex trigonometric waveforms?
- ___ a) Yes ___ b) No
-
- 7. Did you like the overall idea and implementation of "GRAPH?"
- ___ a) Yes ___ b) No
-
- 8. Was the program useful to you in terms of:
- ___ a) Mathematical learning
- ___ b) Artistic enjoyment
- ___ c) Educational tool
- ___ d) Entertainment
- ___ e) Other (Please specify) ______________________________________
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 9. Which of the following capabilities would you like to see
- incorporated into the program "GRAPH:"
-
- ___Yes ___No (a) more oscillators for each bank.
- ___Yes ___No (b) availability of non-trigonometric waveforms such as
- triangle, saw-tooth, & digital waveforms.
- ___Yes ___No (c) a shape/waveform editor.
- ___Yes ___No (d) a shape sequencer/animator.
- ___Yes ___No (e) 3D shape generation capabilities.
- ___Yes ___No (f) A mouse driven user interface.
- ___Yes ___No (g) Shape rotation
- ___Yes ___No (h) more extensive documentation.
- ___Yes ___No (i) A documented file format for loading
- and saving shapes to your disk.
- ___Yes ___No (j) Digital to Analogue or Analogue to
- digital conversion for waveforms.
- ___Yes ___No (k) availability of source code.
- ___Yes ___No (l) more extensive documentation.
- ___Yes ___No (m) Polar coordinate plotting capabilities.
- ___Yes ___No (n) a formula generator for each plot.
- ___Yes ___No (o) a more sophisticated modulation formula interpreter
- so that multiplication, division and exponentiation
- of functions can be plotted on the screen
-
-
- 10. If you could magically change one thing about the program itself,
- what would it be.
-
-
-
-
-
-
- 11. What is your area of focus in your line of occupation:
- ___ a) Physics
- ___ b) Mathematics
- ___ c) Engineering
- ___ d) Computer Scientist
- ___ e) Artist
- ___ f) other (Please specify) _______________________________________
-
- 12. If you consider yourself to be artistically inclined, could you
- please briefly tell us where your artistic interests lie. If your
- artistic interests relate to this program, could you please tell
- us about this relation.
-
- 13. Additional comments:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-